package com.netease.financial.common.constant;

import android.support.annotation.NonNull;

import com.netease.financial.common.config.NfsConfig;
import com.netease.financial.common.util.preferences.DebugPreferencesHelper;

/**
 * Created by wyf on 6/11/15.
 */
public class Constants {

    public static final String PLATFORM = "Android";

    public static final String DOMAIN_BODY = NfsConfig.getNfsHost();

    public static final String DOMAIN_PORT = "";

    private static final String DOMAIN = DOMAIN_BODY + DOMAIN_PORT;

    public static final String NFS_DATA_HOST = DOMAIN_BODY;

    private static final String NFS_FCAPP_FOLDER = "/fcapp_v2";
    private static final String HOME_PATH_SUFFIX = NFS_FCAPP_FOLDER + "/homePage/index.html";
    private static final String ACCOUNT_PATH_SUFFIX = NFS_FCAPP_FOLDER + "/Dashboard/Account.html";
    private static final String PRODUCT_PATH_SUFFIX = NFS_FCAPP_FOLDER + "/category/Category.html";
    private static final String INFORMATION_PATH_SUFFIX = NFS_FCAPP_FOLDER + "/Dashboard/info/InfoList.html";
    private static final String ASSET_PATH_SUFFIX = NFS_FCAPP_FOLDER + "/Dashboard/Dashboard.html";

    // 获取域名
    public static String getDomain() {
        if (NfsConfig.isTestEnabled()) {
            String domainBody = DebugPreferencesHelper.getDomainBody();
            String domainPort = DebugPreferencesHelper.getDomainPort();
            return domainBody + domainPort;
        }
        return DOMAIN;
    }

    // 获取主页地址
    public static String getHomeUrl() {
        if (NfsConfig.isTestEnabled()) {
            return getTestHomeUrl();
        } else {
            return NfsConfig.getHomeUrl();
        }
    }

    @NonNull
    private static String getTestHomeUrl() {
        return getDomain() + HOME_PATH_SUFFIX;
    }

    // 获取账户地址
    public static String getAccountUrl() {
        if (NfsConfig.isTestEnabled()) {
            return getTestAccountUrl();
        } else {
            return NfsConfig.getAccountUrl();
        }
    }

    @NonNull
    private static String getTestAccountUrl() {
        return getDomain() + ACCOUNT_PATH_SUFFIX;
    }

    // 获取产品地址
    public static String getProductUrl() {
        if (NfsConfig.isTestEnabled()) {
            return getTestProductUrl();
        } else {
            return NfsConfig.getProductUrl();
        }
    }

    @NonNull
    private static String getTestProductUrl() {
        return getDomain() + PRODUCT_PATH_SUFFIX;
    }

    // 获取资讯地址
    public static String getInformationUrl() {
        if (NfsConfig.isTestEnabled()) {
            return getTestInformationUrl();
        } else {
            return NfsConfig.getInformationUrl();
        }
    }

    @NonNull
    private static String getTestInformationUrl() {
        return getDomain() + INFORMATION_PATH_SUFFIX;
    }

    // 获取财富地址
    public static String getAssetUrl() {
        if (NfsConfig.isTestEnabled()) {
            return getTestAssetUrl();
        } else {
            return NfsConfig.getAssetUrl();
        }
    }

    @NonNull
    private static String getTestAssetUrl() {
        return getDomain() + ASSET_PATH_SUFFIX;
    }

    public static String getNfsApiEndPoint() {
        return NfsConfig.getNfsApiEndPoint();
    }

    public static final String HTTP_EXTRA_HEADER_PREFIX = " NetEaseFinancial";

//    // 微信开放平台授权key
//    // 已经替换为从微信官网申请的正式key
//    public static final String WX_APP_ID = "wx25bf3040c392f528";
//
//    // 易信开放平台授权key
//    // 已经替换为从易信官网申请的正式key
//    public static final String YX_APP_ID = "yxf22304ba9f6740d68d94e30414794081";
//
//    // 网易云商服授权key
//    // 已经替换为网易云商服官方提供的正式key
//    public static final String CLOUD_CUSTOMER_SERVICE_APP_ID = "1ed8da847428b4f6d9c06a696966073e";
//
//    // 新浪微博授权key
//    // 已经替换为从新浪微博官网申请的正式key
//    public static final String SINA_WEIBO_APP_KEY = "3598236570";
    /**
     * 当前 DEMO 应用的回调页，第三方应用可以使用自己的回调页。
     * <p>
     * <p>
     * 注：关于授权回调页对移动客户端应用来说对用户是不可见的，所以定义为何种形式都将不影响，
     * 但是没有定义将无法使用 SDK 认证登录。
     * 建议使用默认回调页：https://api.weibo.com/oauth2/default.html
     * </p>
     */
    public static final String REDIRECT_URL = "http://www.sina.com";

    /**
     * Scope 是 OAuth2.0 授权机制中 authorize 接口的一个参数。通过 Scope，平台将开放更多的微博
     * 核心功能给开发者，同时也加强用户隐私保护，提升了用户体验，用户在新 OAuth2.0 授权页中有权利
     * 选择赋予应用的功能。
     * <p/>
     * 我们通过新浪微博开放平台-->管理中心-->我的应用-->接口管理处，能看到我们目前已有哪些接口的
     * 使用权限，高级权限需要进行申请。
     * <p/>
     * 目前 Scope 支持传入多个 Scope 权限，用逗号分隔。
     * <p/>
     * 有关哪些 OpenAPI 需要权限申请，请查看：http://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI
     * 关于 Scope 概念及注意事项，请查看：http://open.weibo.com/wiki/Scope
     */
    public static final String SCOPE =
            "email,direct_messages_read,direct_messages_write,"
                    + "friendships_groups_read,friendships_groups_write,statuses_to_me_read,"
                    + "follow_app_official_microblog," + "invitation_write";

}
